Įvadas

Metasploit – kompiuterių ir jų sistemų apsaugos projektas, teikiantis informacija apie sistemų ir jų komponentų pažeidžiamumus, taip pat orientuotas į pažeidžiamumų išnaudojimo testavimo programinės įrangos kūrimą. Šis projektas į informacijos saugos pasaulį įsiveržė 2004 metais, o projekto rezultatas bene geriausia pažeidžiamumų išnaudojimo testavimo programinės įrangos sistema Metasploit Framework (toliau – MSF). MSF yra pažangi atviro kodo struktūrinė sistema, skirta kurti, tobulinti ir naudoti pažeidžiamumų išnaudojimo kodus. Pridėtiniai modeliai, kurių pagalba pažeidžiamumų turiniai (angl. payloads), šifratoriai, no-op generatoriai ir pažeidžiamumų išnaudojimo kodai gali būti integruoti į MSF, padarė šią sistemą vieną iš pagrindinių įrankių pažangiame pažeidžiamumų tyrinėjime. Pačioje sistemoje pagal nutylėjimą jau yra įkelta šimtai pažeidžiamumų išnaudojimo kodų, kuriuos galima peržiūrėti modulių sąraše. Tokia egzistuojančių pažeidžiamumų išnaudojimo kodų gausa tik palengvina naujų išnaudojimo kodų kūrimą. Pagrindiniai šios sistemos naudotojai yra profesionalūs pažeidžiamumų testuotojai, kurie atlieka pažeidžiamumų kodų tobulinimą ir pačių techninių pažeidžiamumų tyrimus, tačiau ši sistema yra laisvai prieinama kiekvienam, besidominčiam informacijos sauga ir techninių pažeidžiamumų valdymų.

Atsiradimo istorija

2003 metais H.D. Moore‘as pradėjo Metasploit Project projektą, kuris buvo skirtas informacijos saugos bendruomenei su viešai prieinama pažeidžiamumų išnaudojimo tobulinimo programine įranga. Šio projekto rezultate atsirado MSF struktūrinė sistema.

Pirmoji MSF versija buvo pradėta H.D. Moore‘o naudojant Perl programavimo kalbą. Moore‘as sudarė pradinį sistemos vaizdą ir bazinį veikimo principą. Antrasis kūrėjas, žinomas Spoonm‘o vardu prisidėjo prie projekto 2003 metų gale ir pradėjo sumodeliuoti bendrą sistemos veikimo principą, kuris naudojamas iki šios dienos. 2004 metais prie Metasploit Project projekto prisidėjo ir trečiasis kūrėjas Matt‘as Miller‘is, dar žinomas Skape‘o vardu.

Pirmosios dvi MSF versijos buvo parašytos naudojant Perl programinę kalbą. Kadangi Perl programinė kalba turėjo daug trūkumų kūrėjams teko perrašyti sistemą naudojant Ruby programavimo kalbą. Šis darbas trūko dvejus metus, nuo 2005 m. iki 2007 m. 2007 metų pabaigoje Spoonm‘as ir Matt‘as Miller‘is paliko projektą ir nešini naujų idėjų subūrė naują kūrėjų komandą ir perėmė šaltinio kodo trijų sąlygų BSD (angl. three-clause BSD) licencijas pradedant nuo 3.2 versijos (2008 metai). Licencijos pasikeitimas, suderintas su naujai suburtos kūrėjų komandos energija ir idėjomis leido Metasploit projektui išlikti gyvam.

2009 metų lapkričio 21 dieną pažeidžiamumų valdymo sprendimų kompanija „Rapid7“ įsigijo Metasploit Project projektą. Prieš įsigijimą MSF sistemos tobulinimas vykdavo tik laisvų kūrėjų laiku, dažniausiai vakarais ir savaitgaliais. Kompanija „Rapid7“ sutiko kūrėjams finansuoti pilną darbo dieną ir paliko programiniam kodui galioti trijų sąlygų BSD licenciją.

Taigi, atviro kodo bendruomenės ir kompanijos „Rapid7“ bendradarbiavimas padėjo sukurti dar įvairesnę ir galingesnę Metasploit programinę įrangą, kuri padeda informacinių technologijų saugos profesionalams aptikti sistemų saugumo spragas, atrasti pažeidžiamumų mažinimo būdus, valdyti ekspertų atliekamus saugumo įvertinimus, bei suteikti tikslų sistemos pažeidžiamumų rizikos vertinimą. Į sistemos galimybes įeina: išmanusis pažeidžiamumų kodo išnaudojimas, slaptažodžių auditas, WEB aplikacijų skenavimas ir socialinės inžinerijos testai.

Metasploit architektūra

msfarch.png

1 pav. Metasploit architektūros blokinis vaizdas

Metasploit architektūra sudaro penki pagrindiniai blokai, kurių viduje yra atskiri objektai. Žemiau pateikiamas blokų (didelis paryškintas šriftas) ir juos sudarančių objektų (paryškintas ir pasviręs šriftas) sąrašas su paaiškinimais. Grafinis Metasploit architektūros vaizdas pateiktas 1 pav..

1. Bibliotekos

2.Moduliai

3. Įrankiai

4. Įskiepiai

5. Sąsajos

Privalumai:

Privalumai:

Vienas iš msfcli trūkumų yra nepalaikomas toks didelis funkcijų kiekis kaip msfconsole sąsajoje bei palaiko tik vieną vartotojo sąsają (angl. shell) vienu metu. Taip pat nepalaiko patobulintų automatizavimo ypatybių.

Metasploit Community – nemokama MSF versija, skirta studentams ir smulkaus verslo įmonėms. Metasploit Comumnity suteikia galimybę naudotojams grafinės vartotojo sąsajos pagalba lengvai atlikti tinklo komponentų nustatymą, pažeidžiamumų aptikimą ir jų išnaudojimą.

Ypatybės:

MSF Pagrindai

6. Duomenų bazės

Atliekant pažeidžiamumų testavimą tampa sunku kaupti ir sekti visą informaciją, susijusią su testuojama sistema. Tokiu atveju laiko sutaupyti padeda tinkamai sukonfigūruota duomenų bazė. MSF turi integruotą PostgreSQL duomenų bazės sistemos palaikymą.

PostgreSQL duomenų bazės sistema suteikia greitą ir paprastą priėjimą prie skenavimo informacijos, leidžia testuotojui importuoti ir eksportuoti skenavimo rezultatus iš įvairių trečiosios šalies pažeidžiamumų skenavimo įrankių. Bene didžiausios šios duomenų bazės sistemos privalumas yra tas, kad sistema palaiko duomenis tinkamai sugrupuotus ir organizuotus.

7. Pažeidžiamumų išnaudojimai

MSF sistemoje visi pažeidžiamumų išnaudojimai skirstomi į du tipus: aktyvius ir pasyvius.

Aktyvūs išnaudojimai

Pasyvūs išnaudojimai

8. Pažeidžiamumų išnaudojimo turiniai

MSF sistemoje išnaudojimo turiniai skirstomi į pagrindines tris grupes: pirminiai (angl. singles), paskirstytieji arba galutiniai (angl. stager) ir tarpiniai (angl. stages). Šie trys tipai suteikia pažeidžiamumų išnaudojimams universalumo ir pasitarnauja esant skirtingiems pažeidžiamumų scenarijams. Visi išnaudojimo turiniai pagal tipus yra atskiriami pasvyrojo brūkšnio (/) ženklu. Pvz., „windows/shell_bind_tcp“ yra pirminis ir vienas išnaudojimo turinys, kai tuo tarpu „windows/shell/bind_tcp“ susideda iš paskirstytojo (bind_tcp) ir tarpinio (shell) išnaudojimo turinių.

Pirminiai išnaudojimo turiniai

Tokie išnaudojimo turiniai yra savarankiški ir visiškai atskiri. Pirminiai išnaudojimo turiniai gali būti labai paprasti, tokie kaip naujo naudotojo pridėjimas atakuojamoje sistemoje arba calc.exe programos paleidimas. Pagal modeliavimo tipą šie išnaudojimo turiniai yra laikomi stabiliausiais, kadangi šiuo atveju laikomasi principo viskas viename.

Paskirstytieji išnaudojimo turiniai

Paskirstytieji išnaudojimo turiniai sudaro tinklo sujungimą tarp atakuotojo ir aukos. Kadangi sudėtingas užduotis kartais sunku atlikti naudojant vieną išnaudojimo turinį, todėl kartais geriau naudoti atskirus, mažus ir patikimus paskirstytuosius išnaudojimo turinius.

Tarpiniai išnaudojimo turiniai

Tarpiniai išnaudojimo turiniai naudojami kartu su paskirstytaisiais turiniais su tikslu atlikti specifines užduotis. Užmezgus su tinklo sujungimą su auka tarpinis išnaudojimo turinys yra nuskaitomas ir įvykdomas aukos sistemoje. Kartu su tarpiniais pažeidžiamumų turiniais yra išskiriami ir kiti išnaudojimo turiniai, tokie kaip: Meterpreter, PasiveX, NoNX, IPv6, Reflective, Ord, DLL injection.

9. Meterpreter pažeidžiamumų išnaudojimo turinys

Meterpreter – dinamiškai lankstus pažeidžiamumų išnaudojimo turinys, naudojantis operatyviosios atminties DLL bibliotekos injekcijas. Su aukos sistema Meterpreter komunikuoja naudojant paskirstytąjį sujungimą (angl. stager socket) ir suteikia išsamią Ruby kliento aplikacijos programavimo sąsają. Taip pat šis išnaudojimo turinys sugeba išsaugoti komandų storija, turi „TAB“ mygtuko paspaudimo komandos užbaigimo funkciją, skirtingų komunikacijos kanalų palaikymas ir dar daugiau kitų ypatybių.

Meterpreter veikimas

Meterpreter sukūrimo tikslai:

Slaptumas

Galingumas

Lankstumas

10. APIBENDRINIMAS

MSF sistema yra lyderiaujanti tarp kitų pažeidžiamumų testavimo ir išnaudojimo programinės įrangos produktų. MSF pasižymi labai plačiomis pažeidžiamumų testavimo, išnaudojimo, kūrimo, tobulinimo ir integravimo galimybėmis. Šis įrankis gali žymiai pasitarnauti tiek profesionalams, atliekantiems saugumo auditus didelėse organizacijose, tiek ir paprastiems entuziastams tikrinant asmeninių sistemų saugumą. Tačiau kaip ir su kiekvienu informacijos saugumo įrankiu atsiranda galimybė MSF sistemą naudoti negeriems tikslams. Kadangi MSF sistema yra laisvai prieinama kiekvienam pageidaujančiam, tai yra kiekvieno individualus asmens reikalas nuspręsti, kokiais tikslais ir kaip jis naudos šią sistemą.

LIERATŪROS SĄRAŠAS

  1. Metasploit istorija [interaktyvus]. Blgtech Blogspot [Žiūrėta 2014-04-09]. Prieiga per internetą: <http://blgtechn.blogspot.com/2012/08/metasploit.html>.

  2. Metasploit unleashed [interaktyvus]. Offensive seurity Metasploit unleashed [Žiūrėta 2014-04-09]. Prieiga per internetą <http://www.offensive-security.com/metasploit-unleashed/Main_Page>.